Asynchronous communication between threads
نویسنده
چکیده
In programming there is sometimes a need to make computation interruptible by external events. This paper argues that a dedicated language mechanism solves this need better than a pure library convention. The main issue in designing such a mechanism is specifying points of computation where it’s safe to interrupt a thread in order to execute a signal handler. The paper proposes rules for identifying such points, rules which are especially suited for impure functional languages. The proposed mechanism of asynchronous signals happens to be useful for specifying how threads should interact with Unix fork().
منابع مشابه
Chant: Lightweight Threads in a Distributed Memory Environment
Lightweight threads are becoming increasingly useful in supporting parallelism and asynchronous events in applications and language implementations. Traditionally, lightweight threads are supported only within the single address space of a process, or in shared memory environments with multiple processes. We introduce and describe the design of Chant, a runtime system supporting lightweight thr...
متن کاملMassiveThreads: A Thread Library for High Productivity Languages
An efficient implementation of task parallelism is important for high productivity languages. Specifically, it requires a tasking layer that fulfills following requirements: (i) its performance scales to high core counts, and (ii) it is seamlessly integrated into a runtime system that performs inter-node communication and synchronization. More specifically, it should facilitate interactions bet...
متن کاملAsynchronous Multithreaded Processor Cores for System Level Integration
A radical alternative based on an asynchronous design methodology is proposed for the design of future system level integration devices. An asynchronous multithreaded processor core is presented along with glimpses into some design issues for a multithreaded Java byte-code compiler. Such a platform expoits concurrency at diierent levels: between coarse-grained threads running on a multi-node pr...
متن کاملLock-Free Asynchronous Rendezvous Design for MPI Point-to-Point Communication
Message Passing Interface (MPI) is the most commonly used method for programming distributed-memory systems. Most MPI implementations use a rendezvous protocol for transmitting large messages. One of the features desired in a MPI implementation is the ability to asynchronously progress the rendezvous protocol. This is important to provide potential for good computation and communication overlap...
متن کاملMTIO - A Multi-Threaded Parallel I/O System
This paper presents the design and evaluation of a multithreaded runtime library for parallel I/O. We extend the multi-threading concept to separate the compute and I/O tasks in two separate threads of control. Multi-threading in our design permits a) asynchronous I/O even if the underlying file system does not support asynchronous I/O; b) copy avoidance from the I/O thread to the compute threa...
متن کامل